Notifying A User Of Events In A Computing Device

ABSTRACT

In a computing device, event notifications take the form of alerts that can be presented in different ways. The particular form of each event notification depends on the nature of the event, the user task being performed at the time the event occurs, the user&#39;s preferences, or any combination thereof. In one aspect, the present invention presents event notifications in the form of banner alerts. Obtrusiveness is minimized by presenting the notification at a location near the edge of the screen (such as a bottom edge), and slightly shrinking the active display area to make room for the event notification. In this manner, event notifications can be presented without obscuring any part of the active display area. In addition, the user can obtain more information about the event by activating the notification (for example by tapping on it). In another aspect, the present invention provides a summary of pending event notifications. Thus, if the user is unable to (or does not wish to) respond to or acknowledge a notification when it is presented, the user can later view the event notification summary at his or her convenience, and can act on the event notifications at that time.

FIELD OF THE INVENTION

In various embodiments, the present invention relates to a user interface for a computing device, and more particularly to systems and methods for notifying a user of events in such a computing device.

DESCRIPTION OF THE RELATED ART

It is often necessary or useful to inform a user of an event that takes place while a user is using a computing device. Some events require immediate action, warranting interruption of whatever task the user is performing at the time the event occurs. An example is an incoming telephone call, or a low-power warning on a battery-powered computing device. Other events are less critical, so that the user may wish to be informed of the event without being interrupted in the task being performed. An example is receipt of an email message while the user is engaged in another task.

Conventional user interfaces provide several mechanisms for informing users of events. Often, such mechanisms include visual elements such as dialog boxes that appear on a display screen, obscuring or partially obscuring the document or other item the user is working on. Users often find such notifications intrusive and distracting. In addition, users often dismiss such notifications without paying them the appropriate level of attention, because the user is focused on some other task. Later, when the user wishes to revisit the notification so as to respond to it more appropriately, it is often difficult or impossible to do so, since the notification has already been dismissed.

Some user activities are interruptible upon receipt of an event notification. However, in many cases, a user may wish to easily resume the activity after he or she has reviewed the event notification and/or taken appropriate action. For example, if a user is on a telephone call when an event notification is presented, the user will generally want to resume the telephone call after viewing the event notification.

Devices having small screens, such as mobile devices including cellular telephones, handheld computers, personal digital assistants, smartphones, music players, and the like, often present particular problems in event notification. The limited screen sizes of such devices provide fewer options for visual notification of events. In addition, in such devices, the entire screen is often devoted to a single application, document, message, task, or activity, so as to make the most effective use of the extremely limited amount of space available. Accordingly, users of such devices are often subject to even more intrusive event notifications that tend to obscure a greater proportion of the display area being used for the task at hand. These event notifications can make it difficult for users to respond appropriately to the event, and can also make it difficult for users to return to the task they were performing before the event occurred. Accordingly, conventional event notifications often have an adverse effect on user productivity and diminish the quality of the user experience.

What is needed is a system and method for notifying a user of an event in a computing device in an unobtrusive way that minimizes task interruption and is effective for a device having a small screen. What is further needed is a system and method that provides different types of event notifications depending on the urgency with which the user must respond to the notification. What is further needed is a system and method that allows a user to easily continue performing a task after an event notification is received. What is further needed is a system and method that informs a user of an event, but allows the user to continue performing a task and to view the notification in more detail at a later time, if desired.

SUMMARY OF THE INVENTION

According to various embodiments of the present invention, a mechanism is provided for notifying a user of events in a computing device. Event notifications take the form of alerts that can be presented in different ways. The particular form of each event notification depends on the nature of the event, the user task being performed at the time the event occurs, the user's preferences, or any combination thereof. The systems and methods of the present invention, according to various embodiments, are particularly well suited to devices having small screens, as they minimize the obtrusiveness of event notifications on such screens. However, one skilled in the art will recognize that the systems and methods of the present invention, according to various embodiments, can be used for presenting event notifications in any electronic device having any type of visual display.

In one embodiment, the present invention presents event notifications in the form of banner alerts. Obtrusiveness is minimized by presenting the notification at a location near the edge of the screen (such as a bottom edge), and slightly shrinking the active display area to make room for the event notification. In this manner, event notifications can be presented without obscuring any part of the active display area. In addition, the user can obtain more information about the event by activating the notification (for example by tapping on it).

In another embodiment, the present invention provides pop-up notifications, such as dialog boxes, for more urgent events. Again, the active display area can be reduced in size to allow the user to directly interact with the event notification.

According to one embodiment, the event notifications of the present invention are unobtrusive and allow the user the continue working in the active display area while ignoring the notification, if desired.

In another embodiment, the present invention provides a summary of pending event notifications. Thus, if the user is unable to (or does not wish to) respond to or acknowledge a notification when it is presented, the user can later view the event notification summary at his or her convenience, and can act on the event notifications at that time.

In another aspect, certain notifications are automatically dismissed after some period of time. Other notifications may persist, but be relegated to a notification summary that can later be expanded by the user to view individual notifications at his or her convenience. The behavior of notifications can depend on user preferences, event type, current user activity, and/or any other factors.

Additional features and advantages will become apparent in the description provided below.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate several embodiments of the invention and, together with the description, serve to explain the principles of the invention according to the embodiments. One skilled in the art will recognize that the particular embodiments illustrated in the drawings are merely exemplary, and are not intended to limit the scope of the present invention.

FIGS. 1A through 1C depict an example of an event notification presented as a banner along the bottom edge of a display screen, according to one embodiment of the present invention.

FIGS. 2A through 2C depict an example of an event notification being dismissed upon expiration, and an example of an event notification being overwritten by a new notification, according to embodiments of the present invention.

FIGS. 3A through 3C depict an example of a persistent event notification and an expandable event notification summary, according to embodiments of the present invention.

FIGS. 3D through 3E depict an example of a transitory event notification being overwritten by an expandable event notification summary, according to an embodiment of the present invention.

FIG. 3F depicts an example of an event notification summary in an expanded state, according to an embodiment of the present invention.

FIG. 3G depicts an example of an application being invoked from an event notification summary, according to an embodiment of the present invention.

FIG. 4A depicts an example of an event notification summary including a high-priority pending event, according to an embodiment of the present invention.

FIG. 4B depicts an example of an expanded event notification summary including a high-priority pending event, according to an embodiment of the present invention.

FIG. 5 depicts a flow diagram depicting a method for displaying and dismissing event notifications and/ or event summaries according to one embodiment.

FIG. 6 depicts a method for displaying a new event notification when a previous event notification is being displayed, according to one embodiment.

FIG. 7 depicts a method for displaying a new event notification when an event summary is being displayed, according to one embodiment.

FIG. 8 depicts a method for activating an item in an event summary according to one embodiment.

FIG. 9 depicts a method for displaying a new event notification when a previous event notification having a minimum display time is being displayed, according to one embodiment.

DETAILED DESCRIPTION OF THE EMBODIMENTS System Architecture

According to various embodiments, the present invention can be implemented on any electronic device, such as a handheld computer, personal digital assistant (PDA), personal computer, kiosk, cellular telephone, and the like. For example, in various embodiments, the invention can be implemented as a feature of a software application or operating system running on such a device. Accordingly, in various embodiments, the present invention can be implemented as part of a graphical user interface for controlling and interacting with software on such a device.

In various embodiments, the invention is particularly well-suited to devices such as smartphones, handheld computers, and PDAs, which have limited screen space and which are capable of running several software applications concurrently. One skilled in the art will recognize, however, that in other embodiments the invention can be practiced in other contexts, including any environment in which it is useful to provide event notifications to a user. Accordingly, the following description is intended to illustrate various embodiments of the invention by way of example, rather than to limit the scope of the claimed invention.

Referring now to FIGS. 1A through 1C, there is shown an example of an event notification 103 presented as a banner along the bottom edge of a display screen 101 of a device, according to one embodiment of the present invention.

In one embodiment, screen 101 is touch-sensitive, so that a user can interact with applications, notifications, and other items by touching various locations on screen 101. Touch-sensitive screen 101 can be implemented using any technology that is capable of detecting a location of contact. In another embodiment, a user can interact with on-screen items by way of a keyboard and/or pointing device such as a trackball, roller switch, stylus, touchpad, mouse, or the like. In one embodiment, the device on which screen 101 is presented also includes a touch-sensitive gesture area (not shown) for entering gesture-based commands.

Screen 101 may be a component of a personal digital assistant, smartphone, or any other electronic device. Such devices commonly have telephone, email, and text messaging capability, and may perform other functions including, for example, playing music and/or video, surfing the web, running productivity applications, and the like. In various embodiments, the present invention can be implemented in any type of electronic device having a display screen, and is not limited to devices having the listed functionality. In addition, the particular layout shown in the Figures is merely exemplary and is not intended to be restrictive of the scope of the claimed invention.

FIG. 1A depicts screen with an active display area 102 for an application occupying substantially the entire screen 101. Active display area 102 is blank in FIG. 1A; however, in actual use, active display area 102 would contain content and/or application elements relevant to the task at hand. One skilled in the art will recognize that, in various embodiments, the present invention can also be implemented in a multi-window context or other environment where display areas for more than one application are shown concurrently on screen 101. Status bar 105 is also shown, including information such as current time, battery strength, signal strength, enabled services, and the like; however, status bar 105 is not needed for the present invention.

FIG. 1B depicts screen 101 when an event has taken place. Event notification 103 is displayed along the bottom edge of screen 101. One skilled in the art will recognize that event notification 103 can be displayed 501 at any location on screen 101; however, showing event notification 103 along one of the edges of screen 101 is advantageous because it is relatively unobtrusive. Active display area 102 is slightly reduced in size by scaling its contents to make room for event notification 103. Thus, none of the content of display area 102 is obscured; rather, it is merely resized to provide room for event notification 103. In an alternative embodiment, active display area 102 is not resized, but a portion of area 102 is obscured by event notification 103. Event notification 103 can be made translucent, if desired, so that the obscured portion of display area 102 is still visible behind notification 103.

In the example of FIG. 1B, event notification 103 is an alert notifying the user of an incoming text message. Some or all of the text message can be displayed. One skilled in the art will recognize that event notification 103 can be of any type.

If the user activates event notification 103, for example by tapping on it, an application relevant to notification 103 is invoked. For example, FIG. 1C depicts a text messaging application 104 being invoked in response to a user tapping on event notification 103 of FIG. 1B that showed a text message. In one embodiment, invoking the application 104 causes the remaining portion of the text message (or other content) to be displayed. In addition, the application may provide the user with various options for interacting with, saving, deleting, flagging, and/or responding to the message.

FIG. 1C depicts application 104 in the midst of a transition where its window is being opened. In one embodiment, application 104 occupies the entire screen 101 once invoked. In another embodiment, application 104 occupies a portion of screen 101, while the remaining portion of screen 101 is still occupied by area 102.

As shown in FIG. 1C, event notification 103 is dismissed when application 104 is invoked. In another embodiment, event notification 103 may remain on screen 101 even after application 104 is invoked.

Referring now to FIGS. 2A and 2B, there is shown an example of an event notification 103A being dismissed upon expiration. In FIG. 2A an event notification 103A is shown, alerting the user that the battery is at 30%. As before, display area 102 and its contents are reduced in size to allow for the display of event notification 103A. In one embodiment, after some time period has elapsed since event notification 103A is displayed, event notification 103A is automatically dismissed. Display area 102 and its contents return to their original sizes.

Referring now to FIGS. 2A and 2C, there is shown an example of an event notification 103A being replaced by a new event notification 103C. For example, if event notification 103A is being displayed, as in FIG. 2A, when another event takes place, a new event notification 103B, as shown in FIG. 2C, may replace the previously displayed event notification 103A.

In one embodiment, some event notifications are prioritized with respect to other event notifications. Thus, if an event notification 103 is being displayed when a higher-priority event takes place, the new event notification 103 may replace the previous event notification 103. But if an event notification 103 is being displayed when a lower-priority event takes place, the new event notification 103 may be handled differently: it may not be displayed at all, or its display may be postponed until the first event notification 103 is dismissed by the user or otherwise disposed of, or the two event notifications 103 may be displayed concurrently. Alternatively, an event notification summary may be shown, as described in more detail below. In one embodiment, the relative priorities of the events can be configured by a system administrator and/or by the originator of the event. The specific handling of overlapping event notifications can be configured by a system administrator and/or by the user. Thus, for example, some event notifications can be configured to expire after some period of time, while others may be configured to be persistent so that they continue to be displayed until dismissed by the user. In addition, some event notifications can be configured to be replaced if a newer event notification is to be presented, while other event notifications can be configured to be postponed if a previous event notification is being displayed.

Referring now to FIGS. 3A through 3C, there is shown an example of a persistent event notification 103C and an expandable event notification summary 301, according to embodiments of the present invention. FIG. 3A shows an initial state, where display area 102 occupies substantially the entire display screen 101. In FIG. 3B, event notification 103C is displayed; as described above, display area 102 can optionally be reduced in size to make room for notification 103C. In the example of FIG. 3B, event notification 103C represents an incoming email message.

In some embodiments, some event notifications, such as 103C, are persistent. These may represent events that the user would not want to miss, such as for example an incoming email message. Thus, in one embodiment, when a persistent event notification 103C expires, or when a new event notification is to be displayed while a persistent event notification 103C is being displayed, an event summary 301 is displayed. Event summary 301 includes a series of icons 302 indicating event notifications 103 that have been received and/or presented. In one embodiment, event summary 301 provides abbreviated information concerning the events that have taken place, so as to occupy minimal space on display 101. For example, as shown in FIG. 3C, event summary 301 may contain an icon 302 for each type of event that has occurred, wherein each icon 302 is superimposed by a numeric indicator of the number of pending events of that type. In the example, icons 302 indicate that fourteen incoming email messages, five text messages, and three missed telephone calls have been received. One skilled in the art will recognize that event summary 301 can take many other forms.

Event summary 301 thus provides a mechanism for informing the user of a number of important events that have taken place, even if the user is not able to (or chooses not to) respond or dispose of each event notification 103 as it is individually presented.

In one embodiment, if a new event takes place while event summary 301 is being displayed, the new event notification may overwrite event summary 301. Referring now to FIG. 3D, there is shown an example of new event notification 103D that overwrites previously displayed even summary 301. Once event notification 103D expires or is disposed of by the user, event summary 301 is again displayed, as shown in FIG. 3E. Note that in event summary 301 of FIG. 3E, the number of incoming text messages has been incremented from 3 to 4, to indicate the additional new text message of event notification 103D.

In one embodiment, event summary 301 is expandable. The user can tap (or otherwise activate) event summary 301 to cause it to expand. Referring now to FIG. 3F, there is shown an expanded version 303 of event summary 301. In one embodiment, the expanded version 303 obscures part of display area 102. In another embodiment, display area 102 is further reduced in size to make room for the expanded version 303 of event summary 301.

The expanded version 303 explicitly indicates the number of events of each type. The user can tap on any item in the expanded version 303 to invoke the corresponding application. Referring now to FIG. 3G, there is shown an example of a text application 104 being invoked in response to the user tapping on the portion of the expanded version 303 that refers to text messages. As with the example shown in FIG. 1C, application 104 is shown in the midst of a transition where its window is being opened. In one embodiment, application 104 occupies the entire screen 101 once invoked. In another embodiment, application 104 occupies a portion of screen 101, while the remaining portion of screen 101 is still occupied by area 102.

In one embodiment, the user can dismiss the expanded version 303 of event summary 301 to return to the normal view as shown in FIG. 3E. In one embodiment, the expanded version 303 is automatically dismissed after some period of time, so that display 303 reverts to the normal view as shown in FIG. 3E.

In one embodiment, a highest-priority event is shown more prominently within event summary 301 than other events. For example, an ongoing telephone call may be such an event, and is therefore given more space within event summary 301 than other events. Referring now to FIG. 4A, there is shown example of an event notification summary 301 including a high-priority pending event 401, according to an embodiment of the present invention. Event 401 is an ongoing telephone call, and therefore warrants a more detailed display than the remaining items which are shown as icons 302 in summary 301. Accordingly, event 401 is shown with a more complete description. Remaining icons 302 represent a paused song, and indicators of the number of email messages received, text messages received, and telephone calls received. Since there is insufficient space to show the full name of the party on the telephone call, an ellipsis is used as part of event 401.

FIG. 4B depicts an expanded version 303 of the event summary 301 shown in FIG. 4A, including a more complete depiction of high-priority pending event 401.

In one embodiment, high-priority event notifications are directly manipulable by the user. For example, if a telephone call is received while the user is working on a task within display area 102, event notification 103 is shown. The user can ignore event notification 103 and continue working in display area 102; if so, event notification 103 will eventually be dismissed or relegated to event summary 301. An ignore button (not shown) can optionally be provided to allow the user to indicate that he or she is not interesting in taking the telephone call. Alternatively, the user can answer the telephone call, for example by tapping on event notification 103. The telephone application is then invoked, taking over entire screen 101 or some portion thereof to allow easier interaction therewith. During the telephone call, the user can minimize the telephone application, so that the telephone call event is shown as an event notification 103 or as part of an event summary 301 (depending on whether other events are also pending).

In one embodiment, the user can also dismiss an event, for example to end a telephone call, by swiping the corresponding event notification 103 off the screen 101.

In one embodiment, events are shown on a secondary screen or a portion of a secondary screen. Thus, in a device having two or more display screens, the system of the present invention can in one embodiment reconfigure a display area of any of the display screens in order to make room for display of an event or event summary as described herein. This is particularly useful in devices having a primary and an auxiliary display screen. The selection of which screen to use for display of an event can be made automatically based on current status of the display screens, importance of the event, other currently displayed events and status messages, and the like.

Referring now to FIGS. 5 through 8, there are shown flow diagram depicting methods for practicing the present invention according to one embodiment.

FIG. 5 depicts a method for displaying and dismissing event notifications and/or event summaries according to one embodiment. An event notification 103 is displayed 501, as depicted in FIG. 1B. As described above, active display area 102 may be reduced in size slightly to provide room for event notification 103. If the user activates 502 the event notification 103, the corresponding application is invoked 503, as depicted in FIG. 1C. If event notification 103 expires or is dismissed 504, a determination is made 505 as to whether event notification 103 is persistent. If it is not persistent, it is removed 506 from the screen, as depicted in FIG. 2B. If it is persistent, an event summary 301 is displayed 507, as depicted in FIG. 3C.

FIG. 6 depicts a method for displaying a new event notification 103B when a previous event notification 103A is being displayed, according to one embodiment. An event notification 103A is displayed 601, as depicted in FIG. 2A. A new event occurs 602. A determination is made 603 as to whether the displayed notification 103A is persistent. If not, the new event notification 103B replaces 605 the previous event notification 103A, as depicted in FIG. 2C.

If, in 603, the displayed event notification 103A is persistent, and if no user action has been taken on the displayed event notification 103A, the event summary 301 is displayed 604, as depicted in FIG. 3C.

FIG. 9 depicts a method for displaying a new event notification when a previous event notification having a minimum display time is being displayed, according to one embodiment. In this embodiment, the new event notification 103B does not replace the previous event notification 103A until the previous event notification 103A has been displayed for a specified minimum time period. The minimum time period can be a predetermined global parameter, or it may be specific to the event notification 103A. In one embodiment, the event notification 103A is displayed for at least the minimum time period, but may be displayed longer if no subsequent event notifications 103B are ready for display. In one embodiment, a user can dismiss the event notification 103A prior to expiry of the time period, in which case a new event notification 103B can be displayed subsequent to the dismissal.

In one embodiment, an exception is made if the subsequent event notification 103B is from the same applet or application and overwrites or updates the information contained in the previous event notification 103A. In such a case, the subsequent event notification 103B can replace the previous event notification 103A without waiting the minimum time period. For example, a message saying “You have 3 new messages” can be replaced by a message saying “You have 4 new messages” without waiting the minimum time period.

Thus, as shown in FIG. 9, an event notification 103A is displayed 901. A new event occurs 902. A determination is made 903 as to whether the new event is an update or overwrite for the previous event. If so, the new event notification 103B replaces 905 the previous event notification 103A. If the new event is not an update or overwrite, a determination is made 904 as to whether the minimum display time for the event notification 103A has passed. If so, the new event notification 103B replaces 905 the previous event notification 103A.

If the new event is not an update or overwrite for the previous event, and if the minimum display time for the event notification 103A has not passed, an event summary 301 is displayed 906.

FIG. 7 depicts a method for displaying a new event notification 103D when an event summary 301 is being displayed, according to one embodiment. Event summary 301 is displayed 701, as depicted in FIG. 3C. A new event occurs 702. An event notification 103D is displayed 703 for the new event, as depicted in FIG. 3D. If the user activates 704 the event notification 103D, the corresponding application is invoked 705. If the user does not activate the event notification 103D, once the event notification 103D expires or is dismissed 706, event summary 301 is again displayed 707, as depicted in FIG. 3E. Event summary 301 now incorporates information for the new event.

FIG. 8 depicts a method for activating an item in an event summary according to one embodiment. An event summary 301 is displayed 801, as depicted in FIG. 3E. The user activates 802 event summary 301. Event summary 301 is expanded 803, to show expanded version 303 as depicted in FIG. 3F. If the user activates 804 an item in expanded event summary 303, the corresponding application 104 is invoked 805, as depicted in FIG. 3G. If the user does not activate an item in expanded event summary 303, event summary collapses 806, for example after some period of time (or after the user enters a command to collapse it), to its original state as depicted in FIG. 3E.

In one embodiment, the present invention can be used to allow a user to monitor status of a persistent set of data that is of interest. Thus, while the user is engaged in some activity on a device, he or she can use the techniques of the present invention according to various embodiments to monitor status of some set of data, such as an inbox, battery life, signal strength, or the like. Updates to the data can be presented according to the techniques of the present invention.

The present invention has been described in particular detail with respect to one possible embodiment. Those of skill in the art will appreciate that the invention may be practiced in other embodiments. First, the particular naming of the components, capitalization of terms, the attributes, data structures, or any other programming or structural aspect is not mandatory or significant, and the mechanisms that implement the invention or its features may have different names, formats, or protocols. Further, the system may be implemented via a combination of hardware and software, as described, or entirely in hardware elements, or entirely in software elements. Also, the particular division of functionality between the various system components described herein is merely exemplary, and not mandatory; functions performed by a single system component may instead be performed by multiple components, and functions performed by multiple components may instead be performed by a single component.

Reference herein to “one embodiment”, “an embodiment”, or to “one or more embodiments” means that a particular feature, structure, or characteristic described in connection with the embodiments is included in at least one embodiment of the invention. Further, it is noted that instances of the phrase “in one embodiment” herein are not necessarily all referring to the same embodiment.

Some portions of the above are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps (instructions) leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic or optical signals capable of being stored, transferred, combined, compared and otherwise manipulated. It is convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. Furthermore, it is also convenient at times, to refer to certain arrangements of steps requiring physical manipulations of physical quantities as modules or code devices, without loss of generality.

It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “displaying” or “determining” or the like, refer to the action and processes of a computer system, or similar electronic computing module and/or device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system memories or registers or other such information storage, transmission or display devices.

Certain aspects of the present invention include process steps and instructions described herein in the form of an algorithm. It should be noted that the process steps and instructions of the present invention can be embodied in software, firmware or hardware, and when embodied in software, can be downloaded to reside on and be operated from different platforms used by a variety of operating systems.

The present invention also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application specific integrated circuits (ASICs), or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus. Further, the computers referred to herein may include a single processor or may be architectures employing multiple processor designs for increased computing capability.

The algorithms and displays presented herein are not inherently related to any particular computer, virtualized system, or other apparatus. Various general-purpose systems may also be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will be apparent from the description above. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any references above to specific languages are provided for disclosure of enablement and best mode of the present invention.

While the invention has been described with respect to a limited number of embodiments, those skilled in the art, having benefit of the above description, will appreciate that other embodiments may be devised which do not depart from the scope of the present invention as described herein. In addition, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter. Accordingly, the disclosure of the present invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the claims. 

1. In a computing device, a method for notifying the user of an event, the method comprising: displaying, in an active display area of a display screen, output for an activity being performed by the user; and responsive to an event: reducing the size of the active display area to create a vacant portion of the display screen; displaying an event notification in the vacant portion of the display screen; and concurrently with displaying the event notification, continuing to display output for the activity.
 2. The method of claim 1, further comprising, concurrently with displaying the event notification, processing user input for the activity.
 3. The method of claim 1, wherein the event is unrelated to the activity being performed by the user.
 4. The method of claim 1, wherein the computing device comprises a mobile device.
 5. The method of claim 1, wherein the active display area comprises a window.
 6. The method of claim 5, wherein displaying output for the activity being performed by the user comprises displaying the output in one of a plurality of windows on the display screen.
 7. The method of claim 1, wherein displaying output for the activity being performed by the user comprises displaying the output in an active display area occupying substantially the entire display screen.
 8. The method of claim 1, further comprising: dismissing the event notification; and restoring the active display area to its previous size.
 9. The method of claim 8, wherein dismissing the event notification is performed responsive to user input indicating dismissal of the event notification.
 10. The method of claim 8, wherein dismissing the event notification is performed after a predetermined period of time following display of the event notification.
 11. The method of claim 1, further comprising: dismissing the event notification; and displaying a summary of a plurality of event notifications, the plurality comprising the event notification and at least one other event notification.
 12. The method of claim 11, wherein displaying the summary of event notifications comprises displaying the summary in an area of the display screen previously occupied by the event notification.
 13. The method of claim 11, further comprising, responsive to user input, expanding the summary of event notifications to provide additional information for at least one event.
 14. The method of claim 1, further comprising: dismissing the event notification; and responsive to the event being of a first type, displaying a summary of a plurality of event notifications, the plurality comprising the event notification and at least one other event notification of the first type; and responsive to the event being of a second type, displaying a summary of at least one event notification of the first type, the summary not including any events of the second type.
 15. The method of claim 1, further comprising: dismissing the event notification; and responsive to the event notification being persistent, displaying a summary of a plurality of event notifications, the plurality comprising the event notification and at least one other persistent event notification; and responsive to the event notification being non-persistent, displaying a summary of at least one persistent event notification, the summary not including any non-persistent event notifications.
 16. The method of claim 1, further comprising, responsive to user input activating the displayed event notification, invoking an application for the displayed event notification.
 17. The method of claim 1, wherein displaying the event notification comprises displaying a banner comprising the event notification.
 18. The method of claim 1, wherein: reducing the size of the active display area comprises scaling the contents of the active display area; and continuing to display output for the activity comprises displaying the entire contents of the active display area.
 19. In a computing device, a method for presenting status of a persistent set of data, the method comprising: displaying, in an active display area of a display screen, output for an activity being performed by the user; and responsive to a request for status of a persistent set of data: reducing the size of the active display area to create a vacant portion of the display screen; presenting status of the persistent set of data in the vacant portion of the display screen; and concurrently with displaying the event notification, continuing to display output for the activity.
 20. In a computing device, a method for notifying the user of an event, the method comprising: displaying, in an active display area of a display screen, output for an activity being performed by the user; responsive to an event having a first level of importance: reducing the size of the active display area to create a vacant portion of the display screen; displaying an event notification in the vacant portion of the display screen; and concurrently with displaying the event notification, continuing to display output for the activity; and responsive to an event having a second level of importance: displaying an event notification at least partially obscuring the active display area.
 21. The method of claim 20, wherein displaying an event notification at least partially obscuring the active display area comprises displaying a dialog box.
 22. A computer program product for notifying a computing device user of an event, the computer program product comprising: a computer-readable storage medium; and computer program code, encoded on the medium, for: displaying, in an active display area of a display screen, output for an activity being performed by the user; and responsive to an event: reducing the size of the active display area to create a vacant portion of the display screen; displaying an event notification in the vacant portion of the display screen; and concurrently with displaying the event notification, continuing to display output for the activity.
 23. The computer program product of claim 22, wherein the event is unrelated to the activity being performed by the user.
 24. The computer program product of claim 22, further comprising computer program code for: dismissing the event notification; and restoring the active display area to its previous size.
 25. The computer program product of claim 22, further comprising computer program code for: dismissing the event notification; and displaying a summary of a plurality of event notifications, the plurality comprising the event notification and at least one other event notification.
 26. The computer program product of claim 22, wherein: the computer program code for reducing the size of the active display area comprises computer program code for scaling the contents of the active display area; and the computer program code for continuing to display output for the activity comprises computer program code for displaying the entire contents of the active display area.
 27. In a computing device, a system for notifying a computing device user of an event, the system comprising: a display screen, for displaying, in an active display area, output for an activity being performed by the user; and a processor, for determining that an event has occurred; wherein, responsive to the event, the display screen: reduces the size of the active display area to create a vacant portion of the display screen; displays an event notification in the vacant portion of the display screen; and concurrently with displaying the event notification, continues to display output for the activity.
 28. The system of claim 27, wherein the event is unrelated to the activity being performed by the user.
 29. The system of claim 27, wherein, subsequent to displaying the event notification, the display screen: dismisses the event notification; and restores the active display area to its previous size.
 30. The system of claim 27, wherein, subsequent to displaying the event notification, the display screen: dismisses the event notification; and displays a summary of a plurality of event notifications, the plurality comprising the event notification and at least one other event notification. 